package com.yang.dao;

import java.util.List;
import java.util.Map;

import org.apache.ibatis.annotations.Param;

import com.yang.bean.User;

/**
 * 用户Dao数据层接口
 * 
 * @author admin
 *
 */

public interface UserDao {

    /**
     * 登录查询
     * 
     * @param user
     * @return
     */
    public User login(User user);

    /**
     * 查询单个用户明细记录
     * 
     * @param user
     * @return
     */
    public User getUser(@Param("id") int id);

    /**
     * 模糊查询匹配的用户列表
     * 
     * @param user
     * @return
     */
    /* public List<Object> getLikeUsers(Map<String,Object> user); */
    public List<User> getLikeUsers(@Param("userName") String userName);

    /**
     * 模糊查询匹配的用户的数量
     * 
     * @param user
     * @return
     */
    public int getLikeUsersCount(Map<String, Object> user);

    /**
     * 查询记录
     * 
     * @return 记录
     */
    public List<User> searchUser() throws Exception;

    /**
     * 新增记录
     * 
     * @param user
     *            基础实体类
     * @return 影响行数
     */
    int saveUser(@Param("user") User user) throws Exception;

    /**
     * 修改记录
     * 
     * @param user
     *            基础实体类
     * @return 影响行数
     */
    int updateUser(@Param("user") User user) throws Exception;

    /**
     * 删除记录
     * 
     * @param id
     *            表主键
     * @return 影响行数
     */
    int deleteUser(@Param("id") int id) throws Exception;

}
